home *** CD-ROM | disk | FTP | other *** search
- /*
- $AUTHOR: Fernando Nunes e Manuel Lemos (UpperDesign@zeus.ci.ua.pt)
- $VER: BottomAlign 1.01 (1.10.94)
- Description: ARexx macro for FinalWriter to vertically align all
- selected graphics by the bottom coordinate of the
- bottommost object
- */
-
- options results
-
- /* obter uma lista dos objectos seleccionados */
- selecionados = 0
- FirstObject SELECTED
- do until result =0
- selecionados = selecionados + 1
- objectid.selecionados = result
- NextObject objectid.selecionados SELECTED
- end
-
- if selecionados > 1 then
- do
-
- /* determinar a coordenada do objecto mais acima */
- do objecto = 1 to selecionados
- GetObjectCoords objectid.objecto
- coords = RESULT
- PARSE VAR coords pagina esquerda cima direita baixo
- GetObjectType objectid.objecto
- tipo = result
-
- /* linhas */
- if tipo = OBJECTO_LINHA then
- do
- if cima > baixo then
- baixo = cima
- end
- else
- baixo = cima + baixo
- if objecto = 1 | baixo > mais_abaixo then
- mais_abaixo = baixo
- end
-
- /* mover os objectos para cima */
- do objecto = 1 to selecionados
- GetObjectCoords objectid.objecto
- coords = RESULT
- PARSE VAR coords pagina esquerda cima direita baixo
- GetObjectType objectid.objecto
- tipo = result
-
- /* linhas */
- if tipo = OBJECTO_LINHA then
- do
- if cima < baixo then
- do
- cima = mais_abaixo - baixo + cima
- baixo = mais_abaixo
- end
- else
- do
- baixo = mais_abaixo - cima + baixo
- cima = mais_abaixo
- end
- end
- else
- cima = mais_abaixo - baixo
- SetObjectCoords objectid.objecto pagina esquerda cima direita baixo
- end
-
- /* voltar a reselecionar todos os objectos selecionados antes */
- do objecto = 1 to selecionados
- SelectObject objectid.objecto MULTIPLE
- end
- redraw
- end
-